package com.bbzn.device.client.service;

import com.bbzn.user.comment.User;
import com.bbzn.user.comment.res.UserRes;

import javax.servlet.http.HttpServletRequest;
import java.util.List;

/**
 * 公共类分类
 */
public interface CommonService {
    /**
     * 获取语种
     *
     * @return String
     */
    String getLanguage(String token);

    /**
     * 获取当前用户的下的所有UserID
     * @param id
     * @return
     */
    List<Long> getUserIds(Long id) throws Exception;

    /**
     * 递归树状 获取所有子用户信息
     * @param user
     * @return
     * @throws Exception
     */
    List<UserRes> getChildByUser(User user) throws Exception;

    /**
     * 获取Web签名
     */
    String getWebSalt(HttpServletRequest request);

    /**
     * 获取App签名
     */
    String getAppSalt(HttpServletRequest request);

    /**
     * 获取App签名
     */
    Long getUserId(HttpServletRequest request);

    /**
     * 查询当前用户所属公司-获取该公司下所有用户信
     * @param userId
     * @param language
     * @return
     * @throws Exception
     */
    List<User> getTenantByUser(Long userId, String language) throws Exception;
}
